var Utils = require('geoUtils');
/**
 * 同步一个节点和另一个节点的transform属性
 * syncTo会始终与snycFrom保持世界坐标系下的一致
 */
cc.Class({
    extends: cc.Component,
    properties: {
        syncFromName: {
            default: '',
            tooltip: '不提供syncFrom时，可通过name指定'
        },
        syncFrom: {
            default: null,
            type: cc.Node,
            tooltip: '同步数据来源'
        },
        syncToName: {
            default: '',
            tooltip: '不提供syncTo时，可通过name指定'
        },
        syncTo: {
            default: null,
            type: cc.Node,
            tooltip: '同步数据去向'
        },
        syncPosition: {
            default: true,
            tooltip: '是否同步位置'
        },

        syncRotation: {
            default: true,
            tooltip: '是否同步旋转'
        },
        syncScale: {
            default: true,
            tooltip: '是否同步缩放'
        },
    },
    update(dt) {
        this.syncFrom = this.syncFrom || cc.find(this.syncFromName);
        this.syncTo = this.syncTo || cc.find(this.syncToName);

        this.syncFrom &&
            this.syncTo &&
            Utils.node.syncTransform(this.syncFrom, this.syncTo,
                this.syncPosition, this.syncRotation, this.syncScale);
    }

})